1. Field of the Invention
Embodiments of the present invention relate generally to configuring a processor to continue processing while ignoring errors and, more particularly, to a global mode that controls whether the processor continues processing or stops processing when an error is detected.
2. Description of the Related Art
Current graphics program compilers detect errors in source files that are compiled. However, some errors cannot be detected or prevented by graphics program compilers, such as single bit errors in random access memories (RAMs), or data-dependent errors that only occur at runtime. More recently, graphics devices are configured to detect runtime errors, such as illegal operand values that are not caught by the compiler, and override the programmed state that causes an error using a default state to continue processing in a repeatable and predictable manner. However, overriding erroneous state with default values is only feasible for relatively minor errors, such as replacing a not-a-number (NaN) input value with a zero. For more serious errors, such as a branch to an illegal instruction address, safe default values for the specific error may not exist, in which case recovery requires much more state to be overridden to default values. During debug, it is preferable to stop processing when an error is detected in order to locate and fix the error.
Accordingly, what is needed in the art is a system and method for supporting the ability to debug runtime errors while allowing a processor to be configured to ignore and override runtime errors.